home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Games Collection 1
/
software vault.zip
/
software vault
/
CDR10
/
YICN23.ZIP
/
DEMO
/
SOURCE.ZIP
/
BEETDEMO.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1993-02-27
|
4KB
|
106 lines
#include "xlib.h"
#include "xtext.h"
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <bios.h>
#include <alloc.h>
#include "yakPal.h"
#include "platform.h"
#include "sb1misc.h"
#include "yakkeys.h"
#include "yakfont.h"
#include "xrect.h"
//extern yakMouse mouse;
extern yakLib myYakLib;
extern yakFont myYakFont;
extern yakLib sb1Lib;
grumPlayer player1;
extern player * firstPlayer;
void getKeys(void)
{
if (keyboard.keys[yakKeyboard::upArrow])
player1.go(platformBeast::jump);
if (keyboard.keys[yakKeyboard::leftArrow])
player1.go(platformBeast::goLeft);
if (keyboard.keys[yakKeyboard::rightArrow])
player1.go(platformBeast::goRight);
if (keyboard.keys[yakKeyboard::spaceBar])
{
keyboard.keys[yakKeyboard::spaceBar] = 0;
player1.fireMissile();
}
}
void beetDemo(void)
{
keyboard.install();
firstPlayer = &player1;
randomize();
x_set_mode(0, 435);
x_set_splitscreen(150);
x_set_doublebuffer(240);
x_text_init();
myYakFont.use();
yakPalette myYakPalette("standard.ypl", &myYakLib);
myYakPalette.put();
loadIcons();
animap backgroundMap(2, 48, 32, 32);
backgroundMap.loadIcon(0, "swall", &myYakLib);
backgroundMap.loadIcon(1, "sfloor", &myYakLib);
backgroundMap.randomize();
player1.assignIcon(PLAYER, factor::eightFace);
player1.mymap = &backgroundMap;
player1.squareX = 23;
player1.squareY = 23;
player1.put(0,0);
blob *myBlob[10];
backgroundMap.randomize();
for (int blobCounter = 0; blobCounter < 10; ++blobCounter)
{
myBlob[blobCounter] = new blob;
myBlob[blobCounter]->mymap = &backgroundMap;
myBlob[blobCounter]->put(random(25), random(25));
}
backgroundMap.showXY(player1.mapX-4,player1.mapY-2, 96, 96, 8,4, HiddenPageOffs);
x_page_flip(48 + player1.squareX, 48+player1.squareY);
backgroundMap.showXY(player1.mapX-4,player1.mapY-2, 96, 96, 8,4, HiddenPageOffs);
int oldMapX = player1.mapX, oldMapY = player1.mapY;
drawBorder();
while (!keyboard.keys[yakKeyboard::escape])
{
if ((oldMapX != player1.mapX) || (oldMapY != player1.mapY))
{
oldMapX = backgroundMap.lastMapX;
oldMapY = backgroundMap.lastMapY;
backgroundMap.smartRefresh(player1.mapX-4, player1.mapY-2, HiddenPageOffs);
x_page_flip(48 + player1.squareX, 48+player1.squareY);
x_cp_vid_rect(48,48,432,240,48,48,VisiblePageOffs, HiddenPageOffs, ScrnLogicalPixelWidth,ScrnLogicalPixelWidth);
oldMapX = player1.mapX; oldMapY = player1.mapY;
getKeys();
backgroundMap.advance();
}
else
{
backgroundMap.smartRefresh(player1.mapX-4, player1.mapY-2, HiddenPageOffs);
x_page_flip(48 + player1.squareX, 48+player1.squareY);
x_bgprintf(10,10,SplitScrnOffs,15,20,"MapX %d***Mapy %d ", player1.mapX, player1.mapY);
x_bgprintf(10,20,SplitScrnOffs,15,20,"SquX %d***Squy %d ", player1.squareX, player1.squareY);
x_bgprintf(10,30,SplitScrnOffs,15,20,"Hit Points: %d ", player1.hitPoints);
getKeys();
backgroundMap.advance();
}
if ((player1.mymap->mapData[player1.mapX][player1.mapY].myTerrainType == 1) && (player1.squareY == FLOORHEIGHT))
player1.xMomentum = 0;
}
for (blobCounter = 0; blobCounter < 10; ++blobCounter)
delete myBlob[blobCounter];
keyboard.remove();
x_text_mode();
factor::clearFactor(0);
factor::clearFactor(1);
factor::clearFactor(2);
}